速報APP / 教育 / iStudio Data-Logger

iStudio Data-Logger

價格:免費

更新日期:2019-10-09

檔案大小:1.4M

目前版本:2.84

版本需求:Android 6.0 以上版本

官方網站:https://www.dyntechno.com/

Email:younggiyoon@hotmail.com

iStudio Data-Logger(圖1)-速報App

지원하는 Interface는

- Arduino interface(open source type)

- Dyntechno JoyLAB-A

- SWR Disc

- Android device에 내장된 센서

을 지원합니다.

Android device내에 내장된 센서는 Google의 표준 방식으로 제작된 경우에는 지원합니다.

Arduino interface open source type은 통신하는 방법만 맞추어 주시면 Uno, mega2580, maple mini등을 USB, Bluetooth(BLE not supported)로 연결할 수 있습니다.

Arduino 통신부분을 공유하오니, 참조하여 작성해 주시길 바랍니다.

-- 소스 --

incomingByte1 = Serial.parseInt();

switch(incomingByte1) {

case 1: // Check device

incomingByte2 = Serial.parseInt();

switch(incomingByte2) {

case 1: // send device name

Serial.println("{11,Arduino}");

iStudio Data-Logger(圖2)-速報App

Serial.flush();

break;

case 2: // send channels count

Serial.print("{12,");

Serial.print(sensorLength);

Serial.println("}");

break;

}

break;

case 2: // send sensor information

incomingByte2 = Serial.parseInt();

switch(incomingByte2) {

case 1: // send sensor id

Serial.println("{13,1,2}");

break;

case 2: // send sensor information

delay(10);

iStudio Data-Logger(圖3)-速報App

Serial.print("{14,");

Serial.print("0,"); // channel number

Serial.print("1,"); // sensor id

Serial.print("Voltage,"); // sensor name

Serial.print("V,"); // unit

Serial.print("0,"); // min value

Serial.print("5,"); // max value

Serial.print("0.001,"); // resolution

Serial.print("1,"); // calbration 0:false, 1:true

Serial.print("0,"); // sign invert 0:false, 1:true

Serial.print("0"); // data series

Serial.println("}");

Serial.flush();

delay(10);

Serial.println("{14,1,2,Current,A,-1,1,0.001,1,0,0}");

break;

}

iStudio Data-Logger(圖4)-速報App

break;

case 3: // send data

float retSampling = 0;

float newTime = 0;

incomingByte2 = Serial.parseInt();

switch(incomingByte2) {

case 1:

newTime = Serial.parseFloat();

// max send packet 115200(bps) / 11(bit) = 10472(bytes)

// 10472(bytes) / 11(packet size) = 952(max send packet count);

// 0.002 : 500 packets

if(0.002<= newTime && newTime <= 30.0)

samplingTime = (int)(newTime * 1000);

Serial.print("{15,");

retSampling = samplingTime/1000.0;

Serial.print(retSampling, 3);

Serial.println("}");

iStudio Data-Logger(圖5)-速報App

break;

case 2: // one time

readCurrentValue();

break;

case 3: // start collection

init_Sensor();

currentTimeCount = 0;

digitalWrite(LEDpin, true);

Serial.println("{17}");

runFlag = true;

break;

case 4: // stop collection

runFlag = false;

Serial.println("{18}");

digitalWrite(LEDpin, false);

break;

}

iStudio Data-Logger(圖6)-速報App

break;

}

======

기타 자료는 https://1drv.ms/f/s!AmbHpQNEKSyY7DmvBLYrHnLfrrr_ 에 있습니다.

iStudio Data-Logger(圖7)-速報App